package com.kingmed.kmss.common.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.Version;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * Entity基类
 */

@Data
public class BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;


    /**
     * 所属组织机构ID，以当前操作人为准
     */
    @ApiModelProperty("创建者所属组织机构（部门ums_hr_dept）ID")
    @TableField(fill = FieldFill.INSERT)
    private Long orgId;

    /**
     * 可用状态（0=草稿，1=可用/有效，2=失效/不可用/归档状态）
     */
    @ApiModelProperty("可用状态（0=草稿，1=可用/有效，2=失效/不可用/归档状态）")
    private Integer status;

    /**
     * 创建者
     */
    @ApiModelProperty("创建者ID")
    @TableField(fill = FieldFill.INSERT)
    private Long createById;

    /**
     * 创建者
     */
    @ApiModelProperty("创建者")
    @TableField(fill = FieldFill.INSERT)
    private String createBy;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 更新者
     */
    @ApiModelProperty("更新者")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    /**
     * 更新时间
     */
    @ApiModelProperty("更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /**
     * 删除者
     */
    @ApiModelProperty("删除者")
    @TableField
    private String deleteBy;

    /**
     * 删除时间
     */
    @ApiModelProperty("删除时间")
    @TableField
    private Date deleteTime;

    /**
     * 删除标记
     */
    @ApiModelProperty("删除标记")
    @TableField
    private Integer deleteFlag;

    /**
     * 版本号
     */
    @ApiModelProperty("版本号")
    @TableField
//    @Version
    private Long recordVersion;

    /**
     * 审批状态
     */
    @ApiModelProperty("审批状态（0=草稿，1=审批中，2=预留，3=审批驳回，4=审批通过)")
    @TableField
    private Integer auditStatus;

}
